package com.ruoyi.course.service;

import java.util.List;
import java.util.Map;

import com.ruoyi.course.domain.EqAttendanceRecord;

/**
 * 公司打卡模块-考勤记录数据Service接口
 * 
 * @author ruoyi
 * @date 2025-11-01
 */
public interface IEqAttendanceRecordService 
{
    /**
     * 查询公司打卡模块-考勤记录数据
     * 
     * @param attendanceId 公司打卡模块-考勤记录数据主键
     * @return 公司打卡模块-考勤记录数据
     */
    public EqAttendanceRecord selectEqAttendanceRecordByAttendanceId(String attendanceId);

    /**
     * 查询公司打卡模块-考勤记录数据列表
     * 
     * @param eqAttendanceRecord 公司打卡模块-考勤记录数据
     * @return 公司打卡模块-考勤记录数据集合
     */
    public List<EqAttendanceRecord> selectEqAttendanceRecordList(EqAttendanceRecord eqAttendanceRecord);

    /**
     * 新增公司打卡模块-考勤记录数据
     * 
     * @param eqAttendanceRecord 公司打卡模块-考勤记录数据
     * @return 结果
     */
    public int insertEqAttendanceRecord(EqAttendanceRecord eqAttendanceRecord);

    /**
     * 修改公司打卡模块-考勤记录数据
     * 
     * @param eqAttendanceRecord 公司打卡模块-考勤记录数据
     * @return 结果
     */
    public int updateEqAttendanceRecord(EqAttendanceRecord eqAttendanceRecord);

    /**
     * 批量删除公司打卡模块-考勤记录数据
     * 
     * @param attendanceIds 需要删除的公司打卡模块-考勤记录数据主键集合
     * @return 结果
     */
    public int deleteEqAttendanceRecordByAttendanceIds(String[] attendanceIds);

    /**
     * 删除公司打卡模块-考勤记录数据信息
     * 
     * @param attendanceId 公司打卡模块-考勤记录数据主键
     * @return 结果
     */
    public int deleteEqAttendanceRecordByAttendanceId(String attendanceId);

    /**
     * 统计指定月份的考勤记录
     * @param date
     * @return
     */
    Map<String, Map<String, Integer>> statistics(String date);
}
